These events will control the Kiev scenario for the Red Front campaign.
Campaign By: Kevin 'DarthVeda' Chulski
Contact: darthveda@hotmail.com
Please email any questions/suggestions/comments that you have!
*/
scenario
{
set_nation_name("Russians", $S("Red Army"));
set_nation_name("Romans", $S("Germans"));
// initialize variables
static int wagons_saved = 0;
static int forts_visited = 0;
static int initial_vic = 25;
static int time_ran_out = 0;
labels {
//Add any constant labels here in a comma separated list.
}
run_once {
//Insert commands that should be executed only once when the script is loaded here.
//disable weird things
disable_type("Helicopter");
disable_type("Nuclear Missile");
disable_type("Spy");
disable_type("Supply Wagon");
disable_tech(3, "Allegiance");
disable_tech(3, "Computerization");
set_music_mood("losing", true);
// disable wonders
disable_type( "Pyramids" );
disable_type( "Colossus" );
disable_type( "Terra Cotta Army" );
disable_type( "Colosseum" );
disable_type( "Temple of Tikal" );
disable_type( "Porcelain Tower" );
disable_type( "Angkor Wat" );
disable_type( "Versailles" );
disable_type( "Statue of Liberty" );
disable_type( "Kremlin" );
disable_type( "Taj Mahal" );
disable_type( "Eiffel Tower" );
disable_type( "Supercollider" );
disable_type( "Space Program" );
// disable certain buildings and people
disable_type( "Fishermen" );
disable_type( "Scholar" );
disable_type( "Small City" );
disable_type( "University" );
disable_type( "Library" );
// disable ships
disable_type("Submarine");
disable_type("Dreadnought");
disable_type("Destroyer");
// set timers
set_timer("packinfo",10); // tell player how to pack a factory
set_timer("generalquest", 120);
set_timer("western",180); // western attack timer
set_timer("eastern",300); // eastern attack timer
set_timer("times_up_for_industry",300);
// disable triggers
disable_trigger( "fort1" );
disable_trigger( "fort2" );
disable_trigger( "fort3" );
disable_trigger( "fort4" );
disable_trigger( "fort5" );
disable_trigger( "fort6" );
disable_trigger( "fort7" );
disable_trigger( "fort8" );
disable_trigger( "fort9" );
disable_trigger( "fort10" );
disable_trigger( "fort11" );
disable_trigger( "fort12" );
disable_trigger( "the_general_is_down" );
disable_trigger( "attack_flood" );
disable_trigger( "the_overrun" );
// blurb
popup_dialog("August 1941 - The battle for Kiev has been raging for some time now, comrade General. The situation is getting dangerous as we face a possible trapping maneuver from the Germans. Since Kiev is in danger of falling, we will need to move its critical industries to the east. Good luck, comrade General.");
popup_dialog("NEW OBJECTIVE: Pack 10 Factories and move them to the east.");
add_objective( "Pack 10 Factories and move them to the east", "move", "null.wav");
}
//Main script body.
//Add triggers and other commands to be executed each game frame here.
//Use Edit->Insert Trigger Function to select from the list of available functions
//Use Edit->Insert Trigger Block to add a blank trigger block.
//See ./scenario/sample_script.bhs for additional documentation
popup_dialog("Scouts report that the Germans are on the move and will soon be on the city outskirts in vast numbers. Moscow has ordered you to delay the German advance to buy time for the defence of the capital. Remember that you still must accomplish your other goals, commander.");
popup_dialog("NEW OBJECTIVE: Survive for 25 minutes.");
add_objective( "Survive for 25 minutes", "survive", "null.wav");
popup_dialog("Comrade general, a very important leader has just arrived with us. If we were to bring him to each of the 12 fortresses around the city, the morale of our troops might improve.");
create_unit(1,185,202,"Don Cossack",1);
move_camera(185,202);
popup_dialog("NEW OPTIONAL OBJECTIVE: Bring very important general to each fortress to receive a bonus.");
add_objective( "OPTIONAL: Bring general to 12 forts.", "forts", "null.wav" );
popup_dialog("This is terrible comrade general; the general has been killed! Our troops morale has been dashed by this turn of events. Fewer men are now willing to fight for the defense of Kiev!");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops allowing us to build more units.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Good work. The General has raised the moral of the troops at this fortress. It has been marked with a flag.");
change_objective_text("forts","OPTIONAL: Bring general to 11 forts.");
}
if( forts_visited == 2 )
{
change_objective_text("forts","OPTIONAL: Bring general to 10 forts.");
}
if( forts_visited == 3 )
{
change_objective_text("forts","OPTIONAL: Bring general to 9 forts.");
}
if( forts_visited == 4 )
{
change_objective_text("forts","OPTIONAL: Bring general to 8 forts.");
}
if( forts_visited == 5 )
{
change_objective_text("forts","OPTIONAL: Bring general to 7 forts.");
}
if( forts_visited == 6 )
{
change_objective_text("forts","OPTIONAL: Bring general to 6 forts.");
}
if( forts_visited == 7 )
{
change_objective_text("forts","OPTIONAL: Bring general to 5 forts.");
}
if( forts_visited == 8 )
{
change_objective_text("forts","OPTIONAL: Bring general to 4 forts.");
}
if( forts_visited == 9 )
{
change_objective_text("forts","OPTIONAL: Bring general to 3 forts.");
}
if( forts_visited == 10 )
{
change_objective_text("forts","OPTIONAL: Bring general to 2 forts.");
}
if( forts_visited == 11 )
{
change_objective_text("forts","OPTIONAL: Bring general to 1 more fort.");
}
if( forts_visited == 12 )
{
// all forts visited
disable_trigger( "the_general_is_down" );
objective_complete( "forts" );
popup_dialog("Comrade General, the troops have been amazed by the prowess of our General. It has hightened the battlefield morale of all of our troops.");
popup_dialog("Excellent, comrade General. We have moved most of the city's infrastructure safely away from the Germans.");
objective_complete( "move" );
if ( time_ran_out == 0 )
{
popup_dialog("However, Moscow has other plans for us now. The capital needs more time to prepare its defenses so you will have to hold up the Germans for another 25 minutes. Put your greatest effort into it, commander.");
popup_dialog("NEW OBJECTIVE: Survive for 25 minutes.");
add_objective( "Survive for 25 minutes", "survive", "null.wav");
popup_dialog("Comrade General, the situation here is untenniable. The Germans have surrounded the army and are closing in on Kiev. But General, your delaying actions have bought the motherland more time. You are to board a plane as quickly as possible and report to Moscow.");
popup_dialog("You are now ready for the fourth part of this campaign. Please load the next scenario in the Red Front sequence.");
victory( 1 );
}
else
{
remove_objective( "move" );
remove_objective( "survive" );
popup_dialog("You may have survived long enough to board a plane to Moscow, but the motherland is surely doomed with the industrial capacity of the Ukraine in German hands. Stalin is expecting your resignation on his desk within the week. Comrade General, you will most likely have time to consider your defeat in prison.");